package com.yonyougov.devops.cruxcisupport.k8s.log;

import com.yonyougov.devops.cruxcisupport.k8s.error.K8sConfIgNotFindException;
import com.yonyougov.devops.cruxcisupport.k8s.error.PodNotFindException;
import com.yonyougov.devops.cruxcisupport.k8s.error.PodNotReadyException;

import java.util.List;

/**
 * 获取podd
 */
public interface LoggerRepository {
    /**
     * 获取某个命名空间下某个pod在多少秒之前的日志
     * @param nameSpace 命名空间
     * @param podName  pod名称
     * @param seconds 时间 单位为秒
     * @return String
     */
    String getPodLog(String nameSpace,String podName,int seconds) throws K8sConfIgNotFindException, PodNotFindException, PodNotReadyException;

    /**
     * 获取某个命名空间下某个pod最后多少行的日志
     * @param nameSpace 命名空间
     * @param podName pod名称
     * @param tails  多少行
     * @return
     * @throws K8sConfIgNotFindException
     * @throws PodNotFindException
     * @throws PodNotReadyException
     */
    String getPodLogByTail(String nameSpace,String podName,int tails) throws K8sConfIgNotFindException, PodNotFindException, PodNotReadyException;

}
